package com.desksoft.ecommerce.entity.mall.dto;

import java.util.ArrayList;
import java.util.List;

import com.desksoft.ecommerce.base.Entity;

public class AdvlocationExample implements Entity{
    /**
	 * 
	 */
	private static final long serialVersionUID = -4694713984179427488L;

	protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AdvlocationExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andLocationidIsNull() {
            addCriterion("locationId is null");
            return (Criteria) this;
        }

        public Criteria andLocationidIsNotNull() {
            addCriterion("locationId is not null");
            return (Criteria) this;
        }

        public Criteria andLocationidEqualTo(Long value) {
            addCriterion("locationId =", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidNotEqualTo(Long value) {
            addCriterion("locationId <>", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidGreaterThan(Long value) {
            addCriterion("locationId >", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidGreaterThanOrEqualTo(Long value) {
            addCriterion("locationId >=", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidLessThan(Long value) {
            addCriterion("locationId <", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidLessThanOrEqualTo(Long value) {
            addCriterion("locationId <=", value, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidIn(List<Long> values) {
            addCriterion("locationId in", values, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidNotIn(List<Long> values) {
            addCriterion("locationId not in", values, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidBetween(Long value1, Long value2) {
            addCriterion("locationId between", value1, value2, "locationid");
            return (Criteria) this;
        }

        public Criteria andLocationidNotBetween(Long value1, Long value2) {
            addCriterion("locationId not between", value1, value2, "locationid");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("Id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("Id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAdvnameIsNull() {
            addCriterion("advName is null");
            return (Criteria) this;
        }

        public Criteria andAdvnameIsNotNull() {
            addCriterion("advName is not null");
            return (Criteria) this;
        }

        public Criteria andAdvnameEqualTo(String value) {
            addCriterion("advName =", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameNotEqualTo(String value) {
            addCriterion("advName <>", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameGreaterThan(String value) {
            addCriterion("advName >", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameGreaterThanOrEqualTo(String value) {
            addCriterion("advName >=", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameLessThan(String value) {
            addCriterion("advName <", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameLessThanOrEqualTo(String value) {
            addCriterion("advName <=", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameLike(String value) {
            addCriterion("advName like", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameNotLike(String value) {
            addCriterion("advName not like", value, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameIn(List<String> values) {
            addCriterion("advName in", values, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameNotIn(List<String> values) {
            addCriterion("advName not in", values, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameBetween(String value1, String value2) {
            addCriterion("advName between", value1, value2, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvnameNotBetween(String value1, String value2) {
            addCriterion("advName not between", value1, value2, "advname");
            return (Criteria) this;
        }

        public Criteria andAdvtypeIsNull() {
            addCriterion("advType is null");
            return (Criteria) this;
        }

        public Criteria andAdvtypeIsNotNull() {
            addCriterion("advType is not null");
            return (Criteria) this;
        }

        public Criteria andAdvtypeEqualTo(Short value) {
            addCriterion("advType =", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeNotEqualTo(Short value) {
            addCriterion("advType <>", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeGreaterThan(Short value) {
            addCriterion("advType >", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeGreaterThanOrEqualTo(Short value) {
            addCriterion("advType >=", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeLessThan(Short value) {
            addCriterion("advType <", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeLessThanOrEqualTo(Short value) {
            addCriterion("advType <=", value, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeIn(List<Short> values) {
            addCriterion("advType in", values, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeNotIn(List<Short> values) {
            addCriterion("advType not in", values, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeBetween(Short value1, Short value2) {
            addCriterion("advType between", value1, value2, "advtype");
            return (Criteria) this;
        }

        public Criteria andAdvtypeNotBetween(Short value1, Short value2) {
            addCriterion("advType not between", value1, value2, "advtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeIsNull() {
            addCriterion("showType is null");
            return (Criteria) this;
        }

        public Criteria andShowtypeIsNotNull() {
            addCriterion("showType is not null");
            return (Criteria) this;
        }

        public Criteria andShowtypeEqualTo(Short value) {
            addCriterion("showType =", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeNotEqualTo(Short value) {
            addCriterion("showType <>", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeGreaterThan(Short value) {
            addCriterion("showType >", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeGreaterThanOrEqualTo(Short value) {
            addCriterion("showType >=", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeLessThan(Short value) {
            addCriterion("showType <", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeLessThanOrEqualTo(Short value) {
            addCriterion("showType <=", value, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeIn(List<Short> values) {
            addCriterion("showType in", values, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeNotIn(List<Short> values) {
            addCriterion("showType not in", values, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeBetween(Short value1, Short value2) {
            addCriterion("showType between", value1, value2, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtypeNotBetween(Short value1, Short value2) {
            addCriterion("showType not between", value1, value2, "showtype");
            return (Criteria) this;
        }

        public Criteria andShowtemplateIsNull() {
            addCriterion("showTemplate is null");
            return (Criteria) this;
        }

        public Criteria andShowtemplateIsNotNull() {
            addCriterion("showTemplate is not null");
            return (Criteria) this;
        }

        public Criteria andShowtemplateEqualTo(String value) {
            addCriterion("showTemplate =", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateNotEqualTo(String value) {
            addCriterion("showTemplate <>", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateGreaterThan(String value) {
            addCriterion("showTemplate >", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateGreaterThanOrEqualTo(String value) {
            addCriterion("showTemplate >=", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateLessThan(String value) {
            addCriterion("showTemplate <", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateLessThanOrEqualTo(String value) {
            addCriterion("showTemplate <=", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateLike(String value) {
            addCriterion("showTemplate like", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateNotLike(String value) {
            addCriterion("showTemplate not like", value, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateIn(List<String> values) {
            addCriterion("showTemplate in", values, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateNotIn(List<String> values) {
            addCriterion("showTemplate not in", values, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateBetween(String value1, String value2) {
            addCriterion("showTemplate between", value1, value2, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowtemplateNotBetween(String value1, String value2) {
            addCriterion("showTemplate not between", value1, value2, "showtemplate");
            return (Criteria) this;
        }

        public Criteria andShowrowIsNull() {
            addCriterion("showRow is null");
            return (Criteria) this;
        }

        public Criteria andShowrowIsNotNull() {
            addCriterion("showRow is not null");
            return (Criteria) this;
        }

        public Criteria andShowrowEqualTo(Short value) {
            addCriterion("showRow =", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowNotEqualTo(Short value) {
            addCriterion("showRow <>", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowGreaterThan(Short value) {
            addCriterion("showRow >", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowGreaterThanOrEqualTo(Short value) {
            addCriterion("showRow >=", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowLessThan(Short value) {
            addCriterion("showRow <", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowLessThanOrEqualTo(Short value) {
            addCriterion("showRow <=", value, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowIn(List<Short> values) {
            addCriterion("showRow in", values, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowNotIn(List<Short> values) {
            addCriterion("showRow not in", values, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowBetween(Short value1, Short value2) {
            addCriterion("showRow between", value1, value2, "showrow");
            return (Criteria) this;
        }

        public Criteria andShowrowNotBetween(Short value1, Short value2) {
            addCriterion("showRow not between", value1, value2, "showrow");
            return (Criteria) this;
        }

        public Criteria andWidthIsNull() {
            addCriterion("width is null");
            return (Criteria) this;
        }

        public Criteria andWidthIsNotNull() {
            addCriterion("width is not null");
            return (Criteria) this;
        }

        public Criteria andWidthEqualTo(Short value) {
            addCriterion("width =", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotEqualTo(Short value) {
            addCriterion("width <>", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThan(Short value) {
            addCriterion("width >", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThanOrEqualTo(Short value) {
            addCriterion("width >=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThan(Short value) {
            addCriterion("width <", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThanOrEqualTo(Short value) {
            addCriterion("width <=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthIn(List<Short> values) {
            addCriterion("width in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotIn(List<Short> values) {
            addCriterion("width not in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthBetween(Short value1, Short value2) {
            addCriterion("width between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotBetween(Short value1, Short value2) {
            addCriterion("width not between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andHightIsNull() {
            addCriterion("hight is null");
            return (Criteria) this;
        }

        public Criteria andHightIsNotNull() {
            addCriterion("hight is not null");
            return (Criteria) this;
        }

        public Criteria andHightEqualTo(Short value) {
            addCriterion("hight =", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightNotEqualTo(Short value) {
            addCriterion("hight <>", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightGreaterThan(Short value) {
            addCriterion("hight >", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightGreaterThanOrEqualTo(Short value) {
            addCriterion("hight >=", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightLessThan(Short value) {
            addCriterion("hight <", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightLessThanOrEqualTo(Short value) {
            addCriterion("hight <=", value, "hight");
            return (Criteria) this;
        }

        public Criteria andHightIn(List<Short> values) {
            addCriterion("hight in", values, "hight");
            return (Criteria) this;
        }

        public Criteria andHightNotIn(List<Short> values) {
            addCriterion("hight not in", values, "hight");
            return (Criteria) this;
        }

        public Criteria andHightBetween(Short value1, Short value2) {
            addCriterion("hight between", value1, value2, "hight");
            return (Criteria) this;
        }

        public Criteria andHightNotBetween(Short value1, Short value2) {
            addCriterion("hight not between", value1, value2, "hight");
            return (Criteria) this;
        }

        public Criteria andAdvcountIsNull() {
            addCriterion("advCount is null");
            return (Criteria) this;
        }

        public Criteria andAdvcountIsNotNull() {
            addCriterion("advCount is not null");
            return (Criteria) this;
        }

        public Criteria andAdvcountEqualTo(Short value) {
            addCriterion("advCount =", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountNotEqualTo(Short value) {
            addCriterion("advCount <>", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountGreaterThan(Short value) {
            addCriterion("advCount >", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountGreaterThanOrEqualTo(Short value) {
            addCriterion("advCount >=", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountLessThan(Short value) {
            addCriterion("advCount <", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountLessThanOrEqualTo(Short value) {
            addCriterion("advCount <=", value, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountIn(List<Short> values) {
            addCriterion("advCount in", values, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountNotIn(List<Short> values) {
            addCriterion("advCount not in", values, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountBetween(Short value1, Short value2) {
            addCriterion("advCount between", value1, value2, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvcountNotBetween(Short value1, Short value2) {
            addCriterion("advCount not between", value1, value2, "advcount");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeIsNull() {
            addCriterion("advDescribe is null");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeIsNotNull() {
            addCriterion("advDescribe is not null");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeEqualTo(String value) {
            addCriterion("advDescribe =", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeNotEqualTo(String value) {
            addCriterion("advDescribe <>", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeGreaterThan(String value) {
            addCriterion("advDescribe >", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeGreaterThanOrEqualTo(String value) {
            addCriterion("advDescribe >=", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeLessThan(String value) {
            addCriterion("advDescribe <", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeLessThanOrEqualTo(String value) {
            addCriterion("advDescribe <=", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeLike(String value) {
            addCriterion("advDescribe like", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeNotLike(String value) {
            addCriterion("advDescribe not like", value, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeIn(List<String> values) {
            addCriterion("advDescribe in", values, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeNotIn(List<String> values) {
            addCriterion("advDescribe not in", values, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeBetween(String value1, String value2) {
            addCriterion("advDescribe between", value1, value2, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andAdvdescribeNotBetween(String value1, String value2) {
            addCriterion("advDescribe not between", value1, value2, "advdescribe");
            return (Criteria) this;
        }

        public Criteria andSiteidIsNull() {
            addCriterion("siteId is null");
            return (Criteria) this;
        }

        public Criteria andSiteidIsNotNull() {
            addCriterion("siteId is not null");
            return (Criteria) this;
        }

        public Criteria andSiteidEqualTo(Short value) {
            addCriterion("siteId =", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidNotEqualTo(Short value) {
            addCriterion("siteId <>", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidGreaterThan(Short value) {
            addCriterion("siteId >", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidGreaterThanOrEqualTo(Short value) {
            addCriterion("siteId >=", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidLessThan(Short value) {
            addCriterion("siteId <", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidLessThanOrEqualTo(Short value) {
            addCriterion("siteId <=", value, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidIn(List<Short> values) {
            addCriterion("siteId in", values, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidNotIn(List<Short> values) {
            addCriterion("siteId not in", values, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidBetween(Short value1, Short value2) {
            addCriterion("siteId between", value1, value2, "siteid");
            return (Criteria) this;
        }

        public Criteria andSiteidNotBetween(Short value1, Short value2) {
            addCriterion("siteId not between", value1, value2, "siteid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}